package com.gjw.tblog.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 * @author 郭经伟
 * @Date 2022/3/16
 * 访问 http://localhost:8081/swagger-ui/ => 接口文档
 **/
@Configuration
public class SwaggerConfig {


        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    /**
                     * 重点说明：
                     * 其余可以默认，但是controller的扫描路径一定得自定义设置
                     */
                    .apis(RequestHandlerSelectors.basePackage("com.gjw.tblog.controller"))
                    .paths(PathSelectors.any())
                    .build();
        }


        /**
         * api 信息
         *
         * @return
         */
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    /**
                     * 指定项目的名称和主题
                     */
                    .title("个人博客系统")
                    /**
                     * 描述项目的用途
                     */
                    .description("对个人博客进行管理")
                    /**
                     * name：使用者的名称
                     * url：
                     * email：
                     */
                    .contact(new Contact("", "", ""))
                    .version("1.0")
                    .build();
        }


}
